package com.nova.scenic.projectlibs.util.lifecyclehelper;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.Menu;
import android.view.MenuItem;

import java.io.FileDescriptor;
import java.io.PrintWriter;

/**
 * Created by scenic on 16/5/30.
 */
@SuppressLint("NewApi")
public interface LifeCycleHelper extends ActivityLifeCycleHelper,
        FragmentLifeCycleHelper,

        ServiceLifeCycleHelper {

    void onCreate(Bundle savedInstanceState);

    void onDestroy();

    void onResume();

    void onPause();

    void onStart();

    void onStop();

    void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args);

    boolean onCreateOptionsMenu(Menu menu);

    boolean onOptionsItemSelected(MenuItem item);

    void onSaveInstanceState(Bundle outState);

    void onActivityResult(int requestCode, int resultCode, Intent data);

    void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults);
}

